A “workflow” is a familiar concept to many people. Generally, a “workflow” is any series of steps or activities necessary for completing a particular task. A “workflow component” is any convenient set of related activities that the workflow treats as a single unit of activity. For example, the activities required to process an airline passenger before boarding an airplane could be described as a workflow. In such a scenario, the carrier generally verifies a passenger's identity, confirms the passenger's reservation, allocates a seat on the airplane, and prints a boarding pass. The carrier also may process a credit card transaction to pay for the ticket if the passenger has not yet paid. If the passenger has baggage, the carrier also may print a baggage tag. These activities likely are distributed among a number of employees throughout the organization. From the airline's perspective, then, the workflow is comprised of components executed by various employees. Thus, the workflow components of a “check-in” workflow could be described as: (1) get identification; (2) read passenger's credit card; (3) identify passenger's reservation; (4) get passenger's baggage; (5) allocate passenger's seat; (6) print passenger's boarding pass; (7) print passenger's baggage tag; and so forth. Some, all, or none, of these workflow components may be automated.
A “workflow application” is any computer program designed to coordinate or manage a workflow, particularly in an enterprise setting. Thus, in the above example, a workflow application could coordinate the workflow components among the various employees that are involved in the transaction.
Workflow applications are common in the enterprise context. Many workflow applications are highly specialized for a specific industry, such as the medical application disclosed in U.S. Pat. No. 6,697,783 (issued Feb. 24, 2004). Other such systems, though, have been designed to accommodate more generalized needs, including the system disclosed in U.S. Pat. No. 6,567,783 (issued May 20, 2003).
Many workflow applications also track the status of workflows and provide a console or other means for displaying status information to a user. In practice, a single enterprise often uses a variety of workflow applications to coordinate and manage its everyday operations. But conventional workflow applications are stand-alone applications that are incapable of interacting with other workflow applications in a heterogeneous business system. An enterprise that uses a variety of workflow applications may require many consoles to monitor all of its workflows.
Thus, there is a need in the art for a system that organizes and relates workflow components in an operational workflow process to facilitate the reporting and display of workflow status information.